package org.jeecg.modules.supplierEvaluation.Vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.file.entity.ProcurementFile;
import org.jeecg.modules.supplierEvaluation.entity.SupplierEvaluation;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 供应商评价表
 * @TableName proc_supplier_evaluation
 */

@Data
@ApiModel(value = "Supplier评价对象", description = "供应商评价")
public class SupplierEvaluationVo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**供应商ID*/
    @ApiModelProperty(value = "供应商ID")
    private String supplierId;
    /**投标ID*/
    @ApiModelProperty(value = "投标ID")
    private String bidId;
    /**项目名称*/
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    /**采购方案ID*/
    @ApiModelProperty(value = "采购方案ID")
    private String purchaseId;
    /**中标时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "中标时间")
    private Date winningTime;
    /**是否按时完工：0-否，1-是*/
    @ApiModelProperty(value = "是否按时完工：0-否，1-是")
    private Integer onTimeCompletion;
    /**按时完工评分*/
    @ApiModelProperty(value = "按时完工评分")
    private BigDecimal completionScore;
    /**按时完工说明*/
    @ApiModelProperty(value = "按时完工说明")
    private String completionRemark;
    /**工程质量是否达标：0-否，1-是*/
    @ApiModelProperty(value = "工程质量是否达标：0-否，1-是")
    private Integer qualityStandard;
    /**工程质量评分*/
    @ApiModelProperty(value = "工程质量评分")
    private BigDecimal qualityScore;
    /**工程质量说明*/
    @ApiModelProperty(value = "工程质量说明")
    private String qualityRemark;
    /**是否违规：0-否，1-是*/
    @ApiModelProperty(value = "是否违规：0-否，1-是")
    private Integer hasViolation;
    /**违规评分*/
    @ApiModelProperty(value = "违规评分")
    private BigDecimal violationScore;
    /**违规说明*/
    @ApiModelProperty(value = "违规说明")
    private String violationRemark;
    /**综合评分*/
    @ApiModelProperty(value = "综合评分")
    private BigDecimal totalScore;
    /**评价备注*/
    @ApiModelProperty(value = "评价备注")
    private String evaluationRemark;
    /**评价附件*/
    @ApiModelProperty(value = "评价附件")
    private String evaluationAttachment;
    /**评价人*/
    @ApiModelProperty(value = "评价人")
    private String evaluator;
    /**评价时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "评价时间")
    private Date evaluationTime;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**服务质量评分*/
    @ApiModelProperty(value = "服务质量评分")
    private BigDecimal serviceQualityScore;
    /**成果质量评分*/
    @ApiModelProperty(value = "成果质量评分")
    private BigDecimal outcomeQualityScore;
    /**进度过程评分*/
    @ApiModelProperty(value = "进度过程评分")
    private BigDecimal progressProcessScore;
    /**进度成果评分*/
    @ApiModelProperty(value = "进度成果评分")
    private BigDecimal progressOutcomeScore;
    /**资料提交情况*/
    @ApiModelProperty(value = "资料提交情况")
    private String documentSubmissionStatus;
    /**发票准确性评分*/
    @ApiModelProperty(value = "发票准确性评分")
    private BigDecimal invoiceAccuracyScore;
    /**职业道德评分*/
    @ApiModelProperty(value = "职业道德评分")
    private BigDecimal professionalEthicsScore;


    @ApiModelProperty
    private SupplierEvaluation supplierEvaluation;

    @ApiModelProperty(value = "文件数组")
    private List<ProcurementFile> procurementFile;
}
